﻿using System.Collections.Generic;
using BSU.CSCE.Data.Model;

namespace BSU.CSCE.Data.Repositories.Interfaces
{
    public interface IRepository<T, IdT> where T : IEntity<IdT>
    {
        List<T> List();
        T Get(IdT id);
        T Save(T entity, CSCEDataContext context);
        T Update(T entity, CSCEDataContext context);
        void Delete(T entity, CSCEDataContext context);
        void Delete(IdT id, CSCEDataContext context);
        T Save(T entity);
        T Update(T entity);
        void Delete(T entity);
        void Delete(IdT id);
    }
}